Skip to content

Conversation

@minggangw
Copy link
Member

@minggangw minggangw commented Sep 17, 2025

This PR adds a comprehensive manipulator demo to the Electron examples, showcasing a two-joint robotic arm visualization using rclnodejs and Three.js. The demo provides interactive control through sliders, automatic animation modes, and real-time ROS2 integration.

Key changes:

  • Adds a complete Two-Joint Manipulator demo application with 3D visualization
  • Updates README documentation to feature both turtle_tf2 and manipulator demos in a structured table format
  • Implements ROS2 joint state publishing/subscribing with visual feedback

Fix: #1263

Copilot AI review requested due to automatic review settings September 17, 2025 07:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a comprehensive manipulator demo to the Electron examples, showcasing a two-joint robotic arm visualization using rclnodejs and Three.js. The demo provides interactive control through sliders, automatic animation modes, and real-time ROS2 integration.

Key changes:

  • Adds a complete Two-Joint Manipulator demo application with 3D visualization
  • Updates README documentation to feature both turtle_tf2 and manipulator demos in a structured table format
  • Implements ROS2 joint state publishing/subscribing with visual feedback

Reviewed Changes

Copilot reviewed 8 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/npmjs-readme.md Updates demo section with structured table showcasing turtle_tf2 and manipulator demos
README.md Updates demo section with structured table showcasing turtle_tf2 and manipulator demos
electron_demo/manipulator/start-demo.sh Bash script for convenient ROS2 environment setup and demo launch
electron_demo/manipulator/package.json Project configuration with dependencies for Electron, rclnodejs, and Three.js
electron_demo/manipulator/main.js Electron main process handling ROS2 integration, joint state publishing, and animation control
electron_demo/manipulator/renderer.js Three.js visualization with 3D manipulator model, UI controls, and real-time updates
electron_demo/manipulator/index.html Application UI layout with control panels, status displays, and embedded Three.js
electron_demo/manipulator/README.md Comprehensive documentation covering installation, usage, architecture, and troubleshooting

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines 9 to 10
source /home/minggang/Download/ros2-linux/setup.bash

Copy link

Copilot AI Sep 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hardcoded path /home/minggang/Download/ros2-linux/setup.bash is user-specific and will not work for other users. Consider using a more generic approach like checking common ROS2 installation paths or requiring users to set an environment variable.

Suggested change
source /home/minggang/Download/ros2-linux/setup.bash
# Try to source ROS2 setup.bash from environment variable or common locations
if [ -n "$ROS2_SETUP" ] && [ -f "$ROS2_SETUP" ]; then
source "$ROS2_SETUP"
elif [ -f "/opt/ros/$ROS_DISTRO/setup.bash" ]; then
source "/opt/ros/$ROS_DISTRO/setup.bash"
elif [ -f "/opt/ros/foxy/setup.bash" ]; then
source "/opt/ros/foxy/setup.bash"
elif [ -f "/opt/ros/humble/setup.bash" ]; then
source "/opt/ros/humble/setup.bash"
elif [ -f "/opt/ros/galactic/setup.bash" ]; then
source "/opt/ros/galactic/setup.bash"
else
echo "❌ Could not find ROS2 setup.bash. Please set the ROS2_SETUP environment variable to the correct path."
exit 1
fi

Copilot uses AI. Check for mistakes.
@minggangw minggangw requested a review from Copilot September 17, 2025 07:41
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 7 out of 10 changed files in this pull request and generated no new comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@coveralls
Copy link

coveralls commented Sep 17, 2025

Coverage Status

coverage: 84.337% (+0.06%) from 84.276%
when pulling cd1c97a on minggangw:fix-1263
into a778426 on RobotWebTools:develop.

@minggangw minggangw merged commit 436a85a into RobotWebTools:develop Sep 17, 2025
34 of 36 checks passed
minggangw added a commit that referenced this pull request Oct 13, 2025
This PR adds a comprehensive manipulator demo to the Electron examples, showcasing a two-joint robotic arm visualization using rclnodejs and Three.js. The demo provides interactive control through sliders, automatic animation modes, and real-time ROS2 integration.

Key changes:
- Adds a complete Two-Joint Manipulator demo application with 3D visualization
- Updates README documentation to feature both turtle_tf2 and manipulator demos in a structured table format
- Implements ROS2 joint state publishing/subscribing with visual feedback

Fix: #1263
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a manipulator demo using Electron + rclnodejs

2 participants